from functools import cmp_to_key


class Solution:
    def largestNumber(self, nums):
        """
        给定一组非负整数，重新排列它们的顺序使之组成一个最大的整数。

        参数:
            nums: 非负整数列表

        返回:
            最大的整数（字符串形式）
        """
        # 处理全零的特殊情况
        if all(num == 0 for num in nums):
            return "0"

        # 将整数转换为字符串
        strs = list(map(str, nums))

        # 自定义比较函数
        def compare(x, y):
            return int(y + x) - int(x + y)

        # 使用自定义比较函数排序
        strs.sort(key=cmp_to_key(compare))

        return ''.join(strs)